package com.insideClass.TypeMessage;

import com.insideClass.typeinfo.*;
import com.insideClass.typeinfo.Pet;
import com.insideClass.typeinfo.PetCreator;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;

/**
 * @author 13699
 */
public class LiteralPetCreator extends PetCreator {
    @SuppressWarnings("unchecked")
    public static final List<Class<? extends Pet>> allTypes=
            Collections.unmodifiableList(
                    Arrays.asList(Pet.class, Dog.class,Cat.class
                    ,Rodent.class,Mutt.class,Pug.class,EgyptianMau.class
                    ,Manx.class,Cymric.class,Rat.class,Mouse.class,Hamster.class
                    ));
    private static final List<Class<? extends Pet>> types=
            allTypes.subList(allTypes.indexOf(Mutt.class),allTypes.size());
    @Override
    public List<Class<? extends Pet>> types() {
        return types;
    }

    public static void main(String[] args) {
        System.out.print(types);
    }
}
